Termination Analysis of Tabled Logic Programs Using Mode and Type Information
نویسندگان
چکیده
Tabled logic programming is receiving increasing attention in our community. It avoids many of the shortcomings of SLD(NF) execution and provides a more exible and often extremely eecient execution mechanism for logic programs. In particular, tabled execution of logic programs terminates more often than execution based on SLD-resolution. So, if a program can be proven to terminate under SLD-resolution, then the program will trivially also terminate under SLG-resolution, the resolution principle of tabulation. But, since there are SLG-terminating programs which are not SLD-terminating, better proof techniques can be found. One of the few approaches studying termination of tabled logic programs was developed by Decorte et al. They present necessary and suucient conditions for two notions of termination under LG-resolution, i.e. SLG-resolution with left-to-right selection rule: quasi-termination and (the stronger notion of) LG-termination. Starting from these necessary and suucient conditions, we introduce suucient conditions for quasi-termination and LG-termination which reason fully at the clause level and are easy to automatize. To this end, we use mode and type information: we consider simply moded, well-moded/well-typed programs and queries. We point out how our termination conditions can be automatized, by extending the recently developed constraint-based automatic termination analysis for SLD-resolution by Decorte and De Schreye.
منابع مشابه
Preserving Termination of Tabled Logic Programs While Unfolding
We provide a rst investigation of the specialisation and transformation of tabled logic programs through unfolding. We show that | surprisingly | unfolding, even determinate, can worsen the termination behaviour in the context of tabling. We therefore establish two criteria which ensure that such mishaps are avoided. We also brie y discuss the in uence of some other transformation techniques on...
متن کاملTermination Analysis for Tabled Logic Programming
The relative novelty of tabled-based logic programming implementations has given rise to a number of both theoretical and practical questions related to the study of the characteristics of such programs and to improving their performance. This work has been motivated by an initial study on how to adapt advanced program specialisation techniques, originally developed for standard logic programmi...
متن کاملPreserving Termination of Tabled
We provide a rst investigation of the specialisation and transformation of tabled logic programs through unfolding. We show that | surprisingly | unfolding, even determinate, can worsen the termination behaviour in the context of tabling. We therefore establish two criteria which ensure that such mishaps are avoided. We also brieey discuss the innuence of some other transformation techniques on...
متن کاملQuasi-Termination Analysis of Logic Programs Using Size-Change Graphs
A logic program is quasi-terminating when only a finite number of different calls—up to variable renaming—are derivable from any given goal. Ensuring the quasi-termination of programs w.r.t. a class of goals is a relevant problem in several areas, like tabled evaluation or partial evaluation, where quasi-termination implies the full termination of the specialization process. In this work, we ad...
متن کاملTabulation-based Induction Proofs with Application to Automated Verification
XSB [14] is a tabled logic programming system designed to address shortcomings in Prolog’s SLD evaluation mechanism for Horn programs. SLD’s poor termination and complexity properties have rendered Prolog unsuitable for deductive database (DDB) and non-monotonic reasoning (NMR) applications. In contrast, XSB’s implementation achieves a computationally tight integration of the logic programming ...
متن کامل